package com.san.base.service;

import java.util.List;
import java.util.Map;

import com.san.base.domain.DictDO;
import com.san.base.domain.Tree;

/**
 * 字典表
 */
public interface DictService extends BaseService {
	
	DictDO getById(Long id);
	
	List<DictDO> list(Map<String, Object> map);
	
	int count(Map<String, Object> map);
	
	List<DictDO> listType();
	
	/**
	 * 根据编码/值获取字典名称
	 * @param code 类型编码
	 * @param value 值
	 * @return
	 */
	String getName(String code,String value);

	/**
	 * 获取性别列表
 	 * @return
	 */
	List<DictDO> getSexList();

	/**
	 * 根据type获取数据
	 * @param map
	 * @return
	 */
	List<DictDO> listByType(String type);
	
	/**
	 * 获取数据字典类型树
	 * @return
	 */
	Tree<DictDO> getTree();
	
	/**
	 * 获取业务类型
	 * @return
	 */
	List<DictDO> getBusiType();
	
	/**
	 * 获取业务类型子项
	 * @param parentId
	 * @return
	 */
	List<DictDO> getBusiTypeNode(Long parentId);
	
	/**
	 * 根据value查询数据
	 * @param value
	 * @return
	 */
	List<DictDO> getByValue(String value);

}
